home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / basic / ace24dist.lha / ace24.lha / include / dos / exall.h < prev    next >
C/C++ Source or Header  |  1996-09-10  |  2KB  |  92 lines

  1. #ifndef DOS_EXALL_H
  2. #define DOS_EXALL_H 1
  3. /*
  4. ** exall.h for ACE Basic
  5. **
  6. ** Note: Translated to ACE by ConvertC2ACE
  7. **       @ MapMeadow Software, Nils Sjoholm
  8. **
  9. **
  10. ** Date: 09/02/95
  11. **
  12. **
  13. */
  14.  
  15. /*
  16. ** This are the StructPointer defines for exall.h
  17. */
  18. #ifndef ExAllControlPtr
  19. #define ExAllControlPtr ADDRESS
  20. #endif
  21. #ifndef ExAllDataPtr
  22. #define ExAllDataPtr ADDRESS
  23. #endif
  24. /*
  25. ** End of StructPointer defines for exall.h
  26. */
  27.      
  28. #ifndef EXEC_TYPES_H
  29. #include <exec/types.h>
  30. #endif
  31.  
  32. #ifndef UTILITY_HOOKS_H
  33. #include <utility/hooks.h>
  34. #endif
  35.  
  36.  
  37. /* NOTE: V37 dos.library,  when doing ExAll() emulation,  and V37 filesystems  */
  38. /* will return an error if passed ED_OWNER.  If you get ERROR_BAD_NUMBER,     */
  39. /* retry with ED_COMMENT to get everything but owner info.  All filesystems  */
  40. /* supporting ExAll() must support through ED_COMMENT,  and must check Type   */
  41. /* and return ERROR_BAD_NUMBER if they don't support the type.           */
  42.  
  43. /* values that can be passed for what data you want from ExAll() */
  44. /* each higher value includes those below it (numerically)   */
  45. /* you MUST chose one of these values */
  46. #define ED_NAME     1
  47. #define ED_TYPE     2
  48. #define ED_SIZE     3
  49. #define ED_PROTECTION   4
  50. #define ED_DATE     5
  51. #define ED_COMMENT  6
  52. #define ED_OWNER    7
  53.  
  54. /*
  55.  *   Structure in which exall results are returned in.  Note that only the
  56.  *   fields asked for will exist!
  57.  */
  58.  
  59. STRUCT ExAllData  
  60.     ExAllDataPtr  ed_Next 
  61.     ADDRESS   ed_Name 
  62.     LONGINT    ed_Type 
  63.     LONGINT   ed_Size 
  64.     LONGINT   ed_Prot 
  65.     LONGINT   ed_Days 
  66.     LONGINT   ed_Mins 
  67.     LONGINT   ed_Ticks 
  68.     ADDRESS   ed_Comment  /* strings will be after last used field */
  69.     SHORTINT   ed_OwnerUID     /* new for V39 */
  70.     SHORTINT   ed_OwnerGID 
  71. END STRUCT 
  72.  
  73. /*
  74.  *   Control structure passed to ExAll.  Unused fields MUST be initialized to
  75.  *   0,  expecially eac_LastKey.
  76.  *
  77.  *   eac_MatchFunc is a hook (see utility.library documentation for usage)
  78.  *   It should return true if the entry is to returned,  false if it is to be
  79.  *   ignored.
  80.  *
  81.  *   This structure MUST be allocated by AllocDosObject()!
  82.  */
  83.  
  84. STRUCT ExAllControl  
  85.     LONGINT   eac_Entries      /* number of entries returned in buffer      */
  86.     LONGINT   eac_LastKey      /* Don't touch inbetween linked ExAll calls! */
  87.     ADDRESS   eac_MatchString  /* wildcard string for pattern match or NULL */
  88.     HookPtr  eac_MatchFunc  /* optional private wildcard function     */
  89. END STRUCT 
  90.  
  91. #endif /* DOS_EXALL_H */
  92.